// 请求数据流
downLoadBlob(query) {
        // 约定好的参数结构
        var data = {
            head: { requestId: null },
            data: {
                ids: query,
                pdfId: this.pdfId
            }
        }
        return new Promise((resolve, reject) => {
            axios({
                method: 'post',
                url: this.$API.AGENT_SERVICE +
                    '/demand/batchDownloadDirect?token=' + getToken(),
                data: data,
                responseType: 'blob' // 注意返回的数据格式
            }).then(res => {
                console.log(res)
                resolve(res)
            }).catch(error => {
                reject(error)
            })
        })
    },

    // 实现下载pdf文件
    // 公用下载
    downloadMethod(fileName, blob) {
        const elink = document.createElement('a')
        elink.download = fileName
        elink.style.display = 'none'
        elink.href = URL.createObjectURL(blob)
        document.body.appendChild(elink)
        elink.click()
        URL.revokeObjectURL(elink.href) // 释放URL 对象
        this.downLoading = false
        document.body.removeChild(elink)
    },

    // 接收到数据的时候不一定都是返回数据流
    // 当后台向你报错误信息的时候返回的一般是json格式的
    // 下面是实现blob转换成json格式
    this.downLoadBlob(pdfId).then((response) => {
            const headers = response.headers['content-type']
            console.log(headers)
            if (headers) {
                const that = this
                const reader = new FileReader()
                reader.onload = function() {
                    const message = JSON.parse(reader.result)
                        // console.log(message)
                        // message 就是我们要的提示文字
                    that.downLoading = false
                    that.notify('提示', message.head.respDesc, 'error', 2000)
                }
                reader.readAsText(response.data)
                return
            }

            // 正常返回blob时的处理
            const content = response.data
                // console.log(content)
            const blob = new Blob([content])
            const fileName = 'response.pdf'
            this.downloadMethod(fileName, blob)

            // 打印pdf
            this.downLoadBlob(printPdf).then((response) => {
                        // var status = response.data.head.respStatus
                        const content = response.data
                        console.log(content)
                            // 主要的是在这里的转换，必须要加上{ type: 'application/pdf' }
                            // 要不然无法进行打印
                        const blob = new Blob([content], { type: 'application/pdf' })
                        var date = (new Date()).getTime()
                        var ifr = document.createElement('iframe')
                        ifr.style.frameborder = 'no'
                        ifr.style.display = 'none'
                        ifr.style.pageBreakBefore = 'always'
                        ifr.setAttribute('id', 'printPdf' + date)
                        ifr.setAttribute('name', 'printPdf' + date)
                        ifr.src = window.URL.createObjectURL(blob)
                        document.body.appendChild(ifr)
                        this.doPrint('printPdf' + date)
                        window.URL.revokeObjectURL(ifr.src) // 释放URL 对象
                    }

                    // 打印
                    doPrint(val) {
                        var ordonnance = document.getElementById(val).contentWindow
                        setTimeout(() => {
                            // window.print()
                            ordonnance.print()
                            this.pdfLoading = false
                        }, 100)
                    },